// 获取数据中的最大值
function calCuMax (arr) {
  var max = Math.max.apply(null, arr)
  var maxint = Math.ceil(Number(max) / 10)
  var maxval = maxint * 10
  return maxval || 0
}
// 获取数据中的最小值方法
function calCuMin (arr) {
  var min = Math.min.apply(null, arr)
  var minint = Math.floor(Number(min) / 10)
  var minval = minint * 10
  return minval || 0
}

export default function (arr1, arr2) {
// 获取y轴相关的左右两侧各两条折线的最大值和最小值
  const Min1 = calCuMin(arr1)
  const Min2 = calCuMin(arr2)
  let Max1 = calCuMax(arr1)
  const Max2 = calCuMax(arr2)
  var rowNum = 6// 刻度线
  // 定义需要传入echarts中的变量
  var max1
  var min1
  var max2
  var min2
  var spl1
  var spl2

  if (Number(Min1) < 0) { // 左边有负数
    if (Number(Min2) < 0) { // 右边有负数
      // 两边都有负数（分3种情况）
      spl1 = Math.ceil((Number(Max1) - Number(Min1)) / (rowNum - 1))// 获取间隔刻度
      // 当最小值小于间隔刻度时说明不止一条负数刻度线，获取负数刻度线条数
      var downcount1 = Math.ceil(Math.abs(Number(Min1)) / spl1)
      spl2 = Math.ceil((Number(Max2) - Number(Min2)) / (rowNum - 1))
      var downcount2 = Math.ceil(Math.abs(Number(Min2)) / spl2)
      if (downcount1 > downcount2) { // 左边的负数条数多于右边的
        // 以左边为准，修改右边的分割刻度
        const upcount = rowNum - downcount1
        max1 = upcount * spl1
        min1 = -downcount1 * spl1
        // 右边需要根据左边重新获取刻度
        spl2 = Math.ceil(Number(Max2) / upcount)
        max2 = upcount * spl2
        min2 = -downcount1 * spl2
      } else if (downcount1 === downcount2) { // 左右两边的负数刻度条数一样
        const upcount = rowNum - downcount1
        min1 = -downcount1 * spl1
        max1 = upcount * spl1
        min2 = -downcount2 * spl2
        max2 = upcount * spl2
      } else if (downcount1 < downcount2) { // 右边的负数条数多于左边，以右边为准
        const upcount = rowNum - downcount2
        max2 = upcount * spl2
        min2 = -downcount2 * spl2
        // 左边需要根据右边获取刻度
        spl1 = Math.ceil(Number(Max1) / upcount)
        max1 = upcount * spl1
        min1 = -downcount2 * spl1
      }
    } else { // 只有左边有负数，右边都是正数
      if (Max1 < 0) {
        Max1 = 0
      }
      spl1 = Math.ceil((Number(Max1) - Number(Min1)) / (rowNum - 1))
      var downcount = Math.ceil(Math.abs(Min1) / spl1)
      var upcount = rowNum - downcount
      max1 = upcount * spl1
      min1 = -downcount * spl1
      spl2 = Math.ceil(Number(Max2) / upcount)
      max2 = upcount * spl2
      min2 = -downcount * spl2
      // console.log({Max1, Min1, Max2, Min2, max1, min1, max2, min2})
    }
  } else { // 左边都是正数
    if (Number(Min2) < 0) { // 左边都是正数，右边有负数
      spl2 = Math.ceil((Number(Max2) - Number(Min2)) / (rowNum - 1))
      const upcount = Number - downcount
      max2 = upcount * spl2
      min2 = -downcount * spl2
      spl1 = Math.ceil(Number(Max1) / upcount)
      max1 = upcount * spl1
      min1 = -downcount * spl1
    } else { // 左右都是正数，没有负数
      min1 = 0
      max1 = Max1
      min2 = 0
      max2 = Max2
      spl1 = Math.ceil((Number(Max1) - Number(Min1)) / (rowNum - 1))
      spl2 = Math.ceil((Number(Max2) - Number(Min2)) / (rowNum - 1))
    }
  }
  return {
    max1,
    min1,
    max2,
    min2,
    spl1,
    spl2
  }
}
